package com.admin.client.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 道具表(CoreProp)表实体类
 *
 * @author cxy
 * @since 2025-01-09 10:28:28
 */
@ApiModel("道具表")
@ColumnWidth(25)//列宽
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class CoreProp extends Model<CoreProp> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.INPUT)
    @ApiModelProperty("id")
    @ExcelProperty({"id","id"})
    private Long id;
    
    @ApiModelProperty("名字")
    @ExcelProperty({"名字","name"})
    private String name;
    
    @ApiModelProperty("类型")
    @ExcelProperty({"类型","type"})
    private Integer type;
    
    @ApiModelProperty("描述")
    @ExcelProperty({"描述","intro"})
    private String intro;
    
    @ApiModelProperty("品质")
    @ExcelProperty({"品质","quality"})
    private Integer quality;
    
    @ApiModelProperty("堆叠上限")
    @ExcelProperty({"堆叠上限","stack"})
    private Long stack;
    
    @ApiModelProperty("售价")
    @ExcelProperty({"售价","sellPrice"})
    private String sellPrice;
    
    @ApiModelProperty("回收获得")
    @ExcelProperty({"回收获得","recoveryObtain"})
    private String recoveryObtain;
    
    @ApiModelProperty("是否背包可直接使用")
    @ExcelProperty({"是否背包可直接使用","isUse"})
    private Integer isUse;
    
    @ApiModelProperty("使用等级")
    @ExcelProperty({"使用等级","useLv"})
    private Integer useLv;
    
    @ApiModelProperty("1.随机 一项 物品礼包2.随机 一项 战法3.随机 一项 英雄4.自选 一项 战法5.自选 一项 武将")
    @ExcelProperty({"1.随机 一项 物品礼包2.随机 一项 战法3.随机 一项 英雄4.自选 一项 战法5.自选 一项 武将","useValueType"})
    private Integer useValueType;
    
    @ApiModelProperty("使用后效果")
    @ExcelProperty({"使用后效果","useValue"})
    private String useValue;
    
    @ApiModelProperty("攻击力")
    @ExcelProperty({"攻击力","attack"})
    private Long attack;
    
    @ApiModelProperty("策略力")
    @ExcelProperty({"策略力","magic"})
    private Long magic;
    
    @ApiModelProperty("防御力")
    @ExcelProperty({"防御力","defense"})
    private Long defense;
    
    @ApiModelProperty("速度")
    @ExcelProperty({"速度","speed"})
    private Long speed;
    
    @ApiModelProperty("统帅力")
    @ExcelProperty({"统帅力","command"})
    private Long command;
    
    @ApiModelProperty("图标")
    @ExcelProperty({"图标","icon"})
    private String icon;
    
    @ApiModelProperty("英雄id")
    @ExcelProperty({"英雄id","heroId"})
    private Long heroId;
    
    @ApiModelProperty("技能id")
    @ExcelProperty({"技能id","skillId"})
    private Long skillId;
    
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    private static final long serialVersionUID = -71769927159694759L;
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    @Override
    public Serializable pkVal() {
        return this.id;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////  基础数据初始化
    public CoreProp init() {
        return this;
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 领域业务
}

